public class GenericArrayExample1 {
    // 泛型方法：交换数组中的两个元素
    public <T> void swap(T[] array, int i, int j) {
        T temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }

    public static void main(String[] args) {
        GenericArrayExample1 example = new GenericArrayExample1();

        // 使用 Integer 类型数组
        Integer[] intArray = {1, 2, 3, 4};
        example.swap(intArray, 0, 2);  // 交换 0 和 2 的元素
        System.out.println(java.util.Arrays.toString(intArray));  // 输出：[3, 2, 1, 4]

        // 使用 String 类型数组
        String[] strArray = {"apple", "banana", "cherry"};
        example.swap(strArray, 0, 1);  // 交换 0 和 1 的元素
        System.out.println(java.util.Arrays.toString(strArray));  // 输出：[banana, apple, cherry]
    }
}
